package cn.com.surker.material.dao;

import cn.com.surker.material.entity.MaterialOutboundLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 材料出库日志 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2023-11-06
 */
public interface MaterialOutboundLogDao extends BaseMapper<MaterialOutboundLog> {

    /**
     * 根据领用详情查询是否有领用记录
     * @param storeId
     * @return
     */
    Integer findItemTotal(Long orgId, Long storeId);

    /**
     * 查询上月结存报表数据
     * @return
     */
    List<Map<String, Object>> findLastMonth(Long orgId, String startTime, String endTime);

    /**
     * 查询本月出入库数据
     * @param startTime
     * @param endTime
     * @return
     */
    List<Map<String, Object>> findMonth(Long orgId, String startTime, String endTime);

    /**
     * 查询个人物资总条数
     * @param uid
     * @param type 材料类型(0：消耗品，1：办公资产)
     * @param searchVal
     * @param startTime
     * @param endTime
     * @return
     */
    Integer findMaterialTotal(Integer type, String uid, Long orgId, String startTime, String endTime, String searchVal);

    /**
     * 查询个人物资 分页信息
     * @param type 材料类型(0：消耗品，1：办公资产)
     * @param uid
     * @param startTime
     * @param endTime
     * @param searchVal
     * @param offset
     * @param limit
     * @return
     */
    List<Map<String, Object>> findMaterialPage(Integer type, String uid, Long orgId, String startTime, String endTime,
                                               String searchVal, Integer offset, Integer limit);

	/**
	 * 查询
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	List<MaterialOutboundLog> findOutPrice(Long orgId, String startTime, String endTime);

    /**
     * 查询公司出库信息
     * @param startTime
     * @param endTime
     * @return
     */
    List<Map<String, Object>> findOutOrg(String startTime, String endTime);

    /**
     * 查询部门出库金额明细
     * @param orgId
     * @param startTime
     * @param endTime
     * @return
     */
    List<Map<String, Object>> findOutDeptDetail(Long orgId, String startTime, String endTime);


    /**
     * 查询真源部门出库金额明细
     * @param orgId
     * @param startTime
     * @param endTime
     * @return
     */
    List<Map<String, Object>> findZYOutDeptDetail(Long orgId, String unitColumn, Long houseId, String startTime, String endTime);

}
